#ifndef CStateManagement_h__
#define CStateManagement_h__

#include "CState.h"

namespace GameTutor
{
	class CStateManagement
	{
	public:
		static CStateManagement* GetInstance()
		{
			if (!s_pInstance)
			{
				s_pInstance = new CStateManagement();
			}
			return s_pInstance;
		}

		void Update(bool isPause);
		void SwitchState(CState* nextState);
	protected:
		static CStateManagement* s_pInstance;
		CStateManagement() : m_pcurrentSate(0), m_pnextState(0) {}

		CState* m_pcurrentSate;
		CState* m_pnextState;
	};
}
#endif // CStateManagement_h__
